#ifndef __MCDRAWLINEARDIMENSIONCOMMAND_H_
#define __MCDRAWLINEARDIMENSIONCOMMAND_H_

#include <MCCommand.h>
#include <MCLinearDimensionVisual.h>

enum MCDrawLinearDimensionStage
{
    DM_SetStartPoint,
    DM_SetEndPoint,
    DM_SetHeight
};

class MCDrawLinearDimensionCommand : public MCCommand
{
public:

    MCDrawLinearDimensionCommand(MCCommandManager *owner);
    ~MCDrawLinearDimensionCommand();

    void onMouseDown(IMouseArgs &args) override;
    void onMouseUp(IMouseArgs &args) override;
    void onMouseMove(IMouseArgs &args) override;

    void terminate() override;

private:

    MCDrawLinearDimensionStage _currentStage;
    MCLinearDimensionsVisual *_dimensionVisual;
    MCPoint2D _settedStartPoint;
    MCPoint2D _settedEndPoint;

};

#endif // !__MCDRAWLINEARDIMENSIONCOMMAND_H_
